input-output descriptions